Method of creating a dynamic image, storage medium and program executing apparatus

ABSTRACT

An induced explosion of a firework ball is represented using a small processing volume. A range for an induced explosion is set around a firework ball to be exploded drawn on a display image, for example, as indicated by the broken line in FIG.  10 A in accordance with attributes of the firework ball. A drawing range of each firework ball under management, the range being indicated by its attributes, is referred to, and any other firework ball drawn in the range is set as a firework ball to be exploded. As a result, the firework ball located around the exploded firework ball is also exploded as shown in FIG.  10 B.

This application claims a priority based on Japanese Patent Application11-261137 filed on Sep. 14, 1999, and 2000-233093 filed on Aug. 1, 2000,the entire contents of which are incorporated herein by reference forall purposes.

BACKGROUND OF THE INVENTION

The present invention relates to a technique for simulating in a virtualworld, a behavior of a real object and, more particularly, to atechnique for representing an interaction between objects.

Simulation is a technique for simulating the behavior of an objecthaving certain characteristics in a real world, as a behavior in thevirtual world and for displaying the object. This technique is widelyused in various fields including entertainment such as games and movies,medical activities, manufacturing industries and education. In order tocreate a realistic dynamic image in such a simulation, an interactionbetween objects must be represented in the dynamic image.

SUMMARY OF THE INVENTION

An example of such representation of the interaction between objects isan induced explosion. The induced explosion is represented by generatingfragments, sparks and the like as a result of an explosion of an object,and by scattering them to collide with another object. According to thismethod, however, since there may be a great number of the fragments,sparks and the like, processing volume may exceed an allowable range. Inparticular, this type of problem is significant in video gameapparatuses and the like in which a dynamic image must be displayedusing real time simulation.

The present invention was made taking the above-described situation intoconsideration, and it is an object of the invention to represent aninteraction between objects and, more particularly, an induced explosionbetween objects with a smaller processing volume.

In order to achieve the above-described object, according to the presentinvention, for example, when a dynamic image in which an object issubjected to an induced explosion under influence of an explosion ofanother object, a predetermined range is set, which is determined by aposition and attributes of the exploded object. Then, another objectlocated within the predetermined range is detected, and the object isset as an object to be subjected to an induced explosion.

According to the invention, since the object to be subjected to aninduced explosion is set within a predetermined range determined by theposition and attributes of the exploded object, a dynamic imagerepresenting the induced explosion of the object can be created with aprocessing volume much smaller than that in the case where collisions offragments and sparks with other objects are simulated as describedabove, to determine the object to be subjected to the induced explosion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an appearance of an entertainment apparatus andcontroller therefor according to an embodiment of the invention.

FIG. 2 is a block diagram showing a configuration of the entertainmentapparatus according to the embodiment.

FIG. 3 is an illustration for explaining contents of a video gameaccording to the embodiment.

FIG. 4 is a flow chart for explaining a process of creating a CGanimation for the entertainment apparatus according to the embodiment.

FIGS. 5A through 5G are illustrations for explaining a process ofdrawing sparks of fire performed by the entertainment apparatus when thevideo game according to the embodiment is provided.

FIGS. 6A and 6B are illustrations for explaining a process of decoratinga displayed image performed by the entertainment apparatus when thevideo game according to the embodiment is provided.

FIG. 7 is a flow chart for explaining a process of accepting operationsof a player in the entertainment apparatus according to the embodiment.

FIGS. 8A through 8F are illustrations for explaining a user interfaceprovided by the entertainment apparatus when the video game according tothe embodiment is provided.

FIGS. 9A through 9F are illustrations for explaining a user interfaceprovided by the entertainment apparatus when the video game according tothe embodiment is provided.

FIGS. 10A and 10B are illustrations for explaining a range of an inducedexplosion which is controlled by the entertainment apparatus when thevideo game according to the embodiment is provided.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A preferred embodiment of the invention will now be described withreference to an example of the application of the invention to anentertainment apparatus.

FIG. 1 shows an appearance of the entertainment apparatus according tothe present embodiment.

The entertainment apparatus reads a game program stored in, for example,an optical disk or the like and executes the game program in accordancewith instructions from a user (a game player). The term “execution of agame” primarily means an operation of controlling progress, display andsounds of a game.

As illustrated, a main body 2 of the entertainment apparatus 1 has adisk mounting portion 3 located in the middle thereof for mounting anoptical disk such as a CD-ROM which is a recording medium for supplyingan application program such as a video game, a reset switch 4 forresetting a game, a power supply switch 5, a disk operating switch 6 foroperating the mounting of the optical disk and, slot portions, forexample, two of them, 7A and 7B.

Two controllers 20 can be connected to the slot portions 7A and 7B toallow two users to play a fighting game or the like. The slot portions7A and 7B accept a memory card device 26 in and from which game data canbe saved (stored) and read or portable digital apparatus 100 whichallows a game to be executed separately from the main body.

The controller 20 has first and second operating portions 21 and 22, anL-button 23L, an R-button 23R, a start button 24 and a selection button25. It further has operating portions 31 and 32 which enable analogoperations, a mode selection switch 33 for selecting a mode of operationof the operating portions 31 and 32 and a display portion 34 fordisplaying a selected mode of operation.

A configuration of the entertainment apparatus 1 is shown in FIG. 2.

As illustrated, the entertainment apparatus 1 has a control system 50constituted by a central processing unit (CPU) 51, peripheral devicestherefor, etc., a graphic system 60 including a graphic processing unit(GPU) 62 for performing drawing in a frame buffer 63, etc., a soundsystem 70 including a sound processing unit (SPU) 71 for generatingsounds of music, sound effects, etc., an optical disk control unit 80for controlling an optical disk 81 on which an application program isrecorded, a communication control unit 90 for controlling signals fromthe controller 20 through which instructions from a user are inputted,and input and output of data from and to the memory card 26 and portabledigital apparatus 100 which store a setting of a game and the like, anda bus BUS or the like for connecting the above-described parts.

The control system 50 has the CPU 51, a peripheral device control unit52 for controlling operations such as interrupts and direct memoryaccess (DMA) transfers, a main memory 53 constituted by a RAM (randomaccess memory) and a ROM (read only memory) 54 in which programs such asa so-called operating system (OS) for managing the main memory 53,graphic system 60, sound system 70, etc. are stored.

The CPU 51 executes the operating system stored in the ROM 54 to controlthe entertainment apparatus 1 as a whole and is constituted, forexample, by a RISC-CPU.

In this entertainment apparatus 1, when the power is turned on, the CPU51 of the control system 50 executes the operating system stored in theROM 54 to control the graphic system 60, sound system 70, etc.

When the operating system is executed, the CPU 51 also performsinitialization of the entertainment apparatus 1 as a whole includingoperation check and thereafter controls the optical disk control unit 80to execute an application program such as a game recorded on the opticaldisk. When the program such as a game is executed, in accordance withinstructions from the user, the CPU 51 controls the graphic system 60,sound system 70, etc. to control display of images and generation ofmusic sound and sound effects.

The graphic system 60 has a GTE (geometry transfer engine) 61 forprocessing such as coordinate transformation, a GPU 62 for performing adrawing process according to drawing instructions from the CPU 51, aframe buffer 63 for storing images drawn by the GPU 62, and an imagedecoder 64 for decoding image data which have been compressed andencoded through orthogonal transformation such as discrete cosinetransformation.

For example, the GTE 61 has a parallel calculation function forperforming a plurality of calculations in parallel, and it performscalculations of matrices, vectors and the like, such as coordinatetransformation calculations at a high speed. Specifically, the GTE 61performs calculations such as perspective transformation for renderingin a case wherein a virtual three-dimensional object is formed using aset of, for example, triangular polygons and a projected image of athree-dimensional model is obtained by projecting the three-dimensionalobject upon a virtual camera screen, i.e., calculations of coordinatevalues of the vertexes of each polygon as projected upon the camerascreen.

Next, the GPU 62 performs rendering of the three-dimensional object tocreate an image in the frame buffer 63 utilizing the GTE 61 inaccordance with a command from the CPU 51. As a technique for erasinghidden lines and hidden surfaces used for rendering, the Z-buffermethod, scan line method, ray tracing method or the like may be used. Asa technique for shading, the flat shading method, glow shading method,ray tracing method or the like may be used. As a technique for renderingsurface textures and patterns on a surface of the tree-dimensionalobject, texture mapping or the like may be used.

Next, the frame buffer 63 is constituted by a so-called dual port RAMand is capable of allowing the rendering by the GPU 62 or transferringfrom the main memory 53 and readout for display simultaneously. Atexture region for storing textures used for the above-described texturemapping or the like is provided in the frame buffer 63 in addition to animage region in which readout for rendering and display is carried out.

The image decoder 64 decodes image data of still images and dynamicimages stored in the main memory 53 under control of the CPU 51 andstores it in the main memory 53 again. The decoded image data can beused as a background of an image to be rendered by the above-describedGPU 62 by storing the decoded image data in the frame buffer 63 via theGPU 62.

The sound system 70 has an SPU 71 for generating sounds of music, soundeffects etc. in accordance with instructions from the CPU 51, a soundbuffer 72 in which waveform data and etc. are stored by the SPU 71, anda speaker 73 for outputting the sounds of music, sound effects, etc.generated by the SPU 71.

The SPU 71 has functions such as an ADPCM (adaptive differential PCM)decoding function for reproducing audio data which have been subjectedto ADPCM, and a reproducing function for reproducing the waveform datastored in the sound buffer 72 to generate sound effects and etc, and amodulating function for modulating and reproducing the waveform datastored in the sound buffer 72. Such functions allow the sound system 70to be used as a so-called sampling sound source which generates soundsof music, sound effects, etc. based on the waveform data stored in thesound buffer 72 according to instructions from the CPU 51.

The optical disk control unit 80 has an optical disk device 81 forreproducing a program, data or the like recorded on an optical disk, adecoder 82 for decoding a program, data or the like which is recordedwith, for example error correction codes (ECCs) added thereon, and abuffer 83 for temporarily storing data from the optical disk device 81to increase the speed of reading from the optical disk. A sub CPU 84 isconnected to the decoder 82.

Audio data recorded in an optical disk read by the optical disk device81 includes so-called PCM data which is obtained by performinganalog-to-digital conversion on an audio signal in addition to theabove-described ADPCM data. The ADPCM data is supplied to theabove-described SPU 71 after being decoded by the decoder 82, issubjected to processes such as digital-to-analog conversion at the SPU71 and is used for driving the speaker 73. The PCM data is subjected toprocesses such as a digital-to-analog conversion at the SPU 71 and isthereafter used for driving the speaker 73.

The communication control unit 90 has a communication controller 91 forcontrolling communication with the CPU 51 through the bus BUS. Providedat the communication controller 91 are a controller connecting unit 12to which the controller 20 for inputting instructions from a user isconnected and memory card inserting units 8A and 8B to which the memorycard 26 and portable digital apparatus 100 as auxiliary storages forstoring game setting data and the like.

The controller 20 connected to the controller connecting unit 12transmits states of the above-described buttons and operating portionsto the communication controller 91 with synchronous communication inaccordance with instructions from the communication controller 91 inorder to allow instructions from the user to be accepted. Thecommunication controller 91 transmits the state of the buttons andoperating portions of the controller 20 to the CPU 51.

Thus, instructions from the user are inputted to the CPU 51, and the CPU51 performs processes in accordance with the instructions from the user,based on the game program, etc., which is being executed.

When a program is read or an image is displayed or drawn, image datamust be transferred at a high speed between the main memory 53, CPU 62,image decoder 64, decoder 82, etc. For this reason, as described above,the entertainment apparatus 1 is adapted to allow so-called DMA transferin which data is directly transferred between the main memory 53, CPU62, image decoder 64, decoder 82, etc., under the control of theperipheral device control unit 52 without intervention of the CPU 51.This makes it possible to reduce loads to the CPU 51 associated withdata transfers, thereby allowing data transfers at a high speed.

Further, when it is necessary to store setting data or the like of agame being played, the CPU 51 transmits the data to be stored to thecommunication controller 91, and the communication controller 91 writesthe data from the CPU 51 in the memory card 26 or the portable digitalapparatus 100 inserted in the slot of the memory card inserting unit 8Aor 8B.

The communication controller 91 has a protection circuit for preventingelectrical breakdown. The memory card 26 and portable digital apparatus100 are separated from the bus BUS and can be inserted and removed whilethe power supply of the apparatus main body 2 is on. Therefore, in thecase of a shortage of the memory capacity of the memory card 26, or theportable digital apparatus 100, a new memory card or the like can beinserted without turning the power supply of the apparatus main body 2off. This prevents loss of game data which is to be backed up and makesit possible to write the necessary data in a new memory card byinserting the new memory card.

A parallel I/O interface (PIO) 96 and a serial I/O interface (SIO) 97are interfaces for connecting the memory card 26 and portable digitalapparatus 100 to the entertainment apparatus 1.

A configuration of the entertainment apparatus 1 has been describedabove.

A description will now be made on an operation of the entertainmentapparatus 1 of the present embodiment, when a video game is played inaccordance with an application program stored in an optical diskinserted in the disk inserting portion 3.

The video game will be first described briefly.

As shown in FIG. 3, the video game executed by the entertainmentapparatus 1 of the present embodiment is a game in which a playercaptures and explodes firework balls 602 which are set off one afteranother in the air in the urban scenery on the background so as todisplay fireworks explosion of the firework balls 602, while monitoringtheir images shot by a camera 601.

In order to establish such a game, the entertainment apparatus 1 of thepresent embodiment accepts operations of a player and creates a CGanimation which proceeds in accordance with the operations of theplayer.

First, a description will be made on the operation of creating a CGanimation.

FIG. 4 is a flow chart for explaining a process of creating a CGanimation in the entertainment apparatus 1 of the present embodiment.

The CPU 51 operates following the flow shown in FIG. 4 to create a CGanimation in accordance with an application program and various datastored in an optical disk mounted in the disk mounting portion 3.

Specifically, the CPU 51 moves the camera 601 in accordance with apredetermined path or operations of the player on the controller 20 in aworld coordinate space in which a three-dimensional model of a grand anda city on the grand are disposed, and disposes the firework balls 602,being three-dimensional objects, one after another, from a positionfixed with respect to the camera 601. This position may be fixed, forexample, at a lower position with respect to the camera 601 by apredetermined distance in a height direction of the world coordinatespace. The CPU 51 simulates a change in the position (movement) of eachfirework ball 602 that occurs when it is set off forward the upperdirection at a predetermined initial velocity, and makes the explodedfirework balls 602 disappear from the world coordinate space.Alternatively, the exploded firework balls 602 are made disappear fromthe world coordinate space and provides new firework balls in positionsin the world coordinate space corresponding to the positions of theexploded firework balls (step S1001). As will be described later, whichfirework ball 602 is to be exploded is determined by an operationaccepted from the user.

The CPU 51 sets a plurality of spark center points in the worldcoordinate space for the firework ball 602 to be exploded, according topreset attributes of the firework ball 602, and simulates a change inthe position (movement) of each spark center point that occurs when eachspark center point is emitted at a predetermined initial velocity in adirection determined by the attributes, e.g., in the radial directionfrom the center point of the firework ball 602 to be exploded (stepS1002).

The CPU 51 periodically (as indicated by step S1003) performs firstcoordinate transformation using the GTE 61 to transform the coordinatesof the three-dimensional models such as the city and the firework balls602 represented by a number of polygons provided in the world coordinatespace, and the center point of each spark represented by a dot intocoordinates on an XYZ coordinate system (screen coordinate system) inwhich the camera position is the origin and the line of sight of thecamera is the direction of the Z-axis. The CPU 51 also performs secondcoordinate transformation on the coordinates X and Y of each coordinatevalue obtained by the first coordinate transformation to provide atwo-dimensional coordinate which is obtained by multiplying thecoordinates X and y by a value Q which becomes smaller according to apredetermined function, the greater the Z-value is (arithmetic matrix).The CPU 51 extracts points at which the X and Y of the coordinate afterthe calculation are included in the ranges from −W/2 to W/2 and from−H/2 to H/2, respectively, where W and H represent the size of thecamera screen which is the projecting surface. The coordinates of eachof the extracted points are shifted in the X- and Y-directions by W/2and −H/2 respectively, and the resultant X and Y coordinates are definedas coordinates on the camera screen (two-dimensional coordinate)associated with the extracted points (step S1004). The above-describedQ-value is used to represent perspective and basically causes coordinatetransformation such that an object located further away from the camerathan another object is displayed closer to the line of sight (i.e., in aposition closer to the center of the camera screen), even if thoseobjects are located at a same distance from the line of sight in aperpendicular direction.

When the CPU 51 calculates on the camera screen as described above, thecoordinates of the three-dimensional models provided in the worldcoordinate space, such as the city and the firework ball 602 and thecenter points of sparks, the CPU 51 allows the GPU 62 to draw them onthe camera screen in the order of their decreasing distances in thedirection of the depth of the screen coordinate system. A firstrendering image is thus generated (step S1005).

Referring to the drawing of the firework balls 602 at this time,after-images of the firework balls are also drawn using a motionblurring technique to represent the tail of the firework balls 602. TheCPU 51 manages the attributes of individual firework balls 602 whichexist in the world coordinate space and also manages the drawing rangeof each firework ball 602 drawn in the first rendering image as one ofthose attributes. As described above, whether to provide a new fireworkball in a position associated with the exploded firework 602 isdetermined by its attributes. That is, the firework balls 602sequentially disposed in the world coordinate space by the CPU 51include firework balls having different attributes, i.e., differentkinds of firework balls.

Each spark is drawn by pasting a texture representing the spark in aposition of the camera screen corresponding to the center point of thespark, the texture having a size in accordance with the distance or thelike of the center point of the spark from the camera. Specifically, thetexture of the spark is drawn on the first rendering image with a sizewhich is obtained by multiplying the original size of the texture of thespark by a Q-value obtained by the above-described calculation. Atexture of a spark is a two-dimensional image which is stored by the CPU51 in the texture region of the frame buffer 63 in advance and which hasa predetermined shape, colors and patterns representing the spark thatappears when an actual firework is exploded. Such a texture is drawn inthe position of the center point of a spark with a size in accordancewith a Q-value obtained by the above calculation such that it alwaysface forward (i.e., such that the texture always faces in the directionof the Z-axis in the XYZ coordinate system whose origin is the cameraand whose Z-axis is the line of sight (the screen coordinate system)).The above-described coordinate transformation (arithmetic matrix)transforms the coordinate of the center point of the spark, instead oftransforming the coordinate of each vertex of the polygon a plurality ofwhich represent a three-dimensional shape. Pasting a polygon that facesforward at the center point thereof always represents each spark. Thismeans that a same matrix can be used to perform coordinatetransformation on the coordinates of each of the center points ofsparks. This also means that there is no need for considering changes inthe direction of the polygons representing the sparks attributable tothe turning of the camera unlike three-dimensional models whichrepresent the city and the firework balls 602 provided in the worldcoordinate space.

A specific example of this process will now be described with referenceto FIGS. 5A through 5G. Let us assume that the center 701 represents acenter of explosion of a certain firework ball 602 and that centers 702of 24 sparks in total are released from the center 701. Then, theposition of center 702 of each of the sparks sequentially changes asshown in FIGS. 5A, 5B and 5C. Let us assume that the state at thecurrent point in time is shown in FIG. 5C. Then, a spark texture shownin FIG. 5D is pasted in a position on the camera screen corresponding tothe center 702 of each of the sparks shown in FIG. 5C to obtain an imageof sparks which are arranged like a circle as shown in FIG. 5E, i.e., animage of an exploded firework.

Such a technique in which changes only in the central position of anobject to be drawn are regularly simulated and an image of the object isdrawn by pasting a texture image at the central position makes itpossible to draw an object with a quite small processing load in a quitshort processing time compared to conventional techniques in which anobject is represented as a three-dimensional image whosethree-dimensional shape is represented by a plurality of polygons and inwhich various processes required for rendering a 3D model are carriedout, the processes including simulation of changes in the position ofeach of the vertexes of each polygon forming a part of thethree-dimensional model and perspective transformation thereof.

Next, the CPU 51 stores, as to each spark on a predetermined number offirst rendering images that trace back to the past starting with thecurrent point in time, the history of the coordinates of the centerpoints of the spark concerned. The CPU 51 allows the GPU 62 to draw, asto each spark, line segments connecting the center points in the historyon the current first rendering image such that the center point of aspark becomes more transparent, namely, blending ratio of the linesegments with the first rendering image becomes smaller, the older it isin the history (step S1006). Here, points in the history in the firstrendering images in the past at predetermined time intervals may beused, and line segments connecting those center points of each spark maybe drawn.

Referring to FIGS. 5A through 5G, let us assume that the history ofpoints shown in FIG. 5F associated with the history of each spark centerpoint 702 shown in FIGS. 5A, 5B and 5C in which FIG. 5C represents thecurrent point in time and FIGS. 5A and 5B represent earlier points intime are used. Then, since three points on the same radial line areassociated with the same spark center point 702, line segmentsconnecting those lines associated with each other are drawn. As aresult, an image is obtained in which a locus of each spark isrepresented, as shown in FIG. 5G.

With such a technique in which a locus of a displayed matter isrepresented by drawing line segments connecting a plurality of positionsthat form a history of the position of the displayed matter, the locusof the displayed matter can be represented with a quit small processingload in a quite short processing time compared to those of conventionaltechniques such as motion blurring.

While only the sparks and their loci are drawn by pasting textures anddrawing line segments in the above-described manner in the presentembodiment, the firework balls and their loci may also be similarlydrawn by pasting textures and drawing line segments.

Next, a first rendering image with line segments drawn thereon is nowreferred to as “a second rendering image”, and the CPU 51 allows the GPU62 to enlarge, using interpolation based on the bilinear or trilinearfiltering technique, a part of an image of sparks drawn on a secondrendering image which was created at a past point in time preceding thecurrent point in time by a quantity corresponding to a predeterminednumber of second rendering images. The enlarged image is drawn on thesecond rendering image at the current point in time as asemi-transparent image (by blending the enlarged image with the secondrendering image) to obtain, finally, a rendering image which isdisplayed as a display image (step S1007).

In order to obtain such a display image, the CPU 51 stores parts ofimages of sparks drawn on a predetermined number of second renderingimages in the past.

Such a process provides a brilliant display image as shown in FIG. 6Bdecorated with enlarged sparks, which is a version of a second renderingimage shown in FIG. 6A.

With such a technique for decorating the current image with an imageobtained by enlarging a part of an image created in the past, decorationcan be provided with a reduced number of processing steps because thereis no need for creating any separate image for decoration. Further,since a predetermined number of past images are used as images fordecoration, the images to be used for decoration change as time passes.As a result, such decorations can also be dynamic images, which make itpossible to provide a quite significant decorative effects.

Next, acceptance of operations of a player will be described.

FIG. 7 is a flow chart for explaining a process of accepting operationsof a player in the entertainment apparatus 1 of the present embodiment.

The CPU 51 operates according to the flow shown in FIG. 7 to acceptoperations of the player in accordance with the application programrecorded on the optical disk mounted in the disk mounting portion 3.

Specifically, the CPU 51 displays a cursor 801 on a display image asshown in FIG. 8A through the operating system (OS). The display portionof the cursor is moved in accordance with the operation of the player onthe controller 20 (step S2001).

As shown in FIG. 8B, the CPU 51 displays a directional line 802 whichextends from the cursor in a direction specified by the player through adirection specifying operation on the controller 20 through the OS (stepS2002).

The CPU 51 refers to drawing ranges of the firework balls 602 under itsmanagement indicated by the attributes thereof to detect a firework balldrawn in the vicinity of the directional line 802 drawn on the displayimage and draws a mark 803 in the position of the detected firework ballas shown in FIG. 8C. Thereafter, the display position of the mark 803 isoperated to follow up the movement of the detected firework ball (stepS2003). When the player instructs lock-on by operating the controller 20in this state (step S2004), lock-on is set as an attribute of thedetected firework ball (step S2005). Then, the mark 803 displayed in theposition where the detected firework ball is drawn is erased and, asshown in FIG. 8D, color attributes of the detected firework ball arechanged to change the display color, and the display position of thecursor 801 is moved to the position where the detected firework ball isdisplayed (step S2006). The display position of the cursor 801 may alsobe operated such that it thereafter follows up the movement of thedetected firework ball.

The detection of the firework ball 602 drawn in the vicinity of thedirectional line 802 is carried out by detecting any firework ball forwhich a line drawn from the position of the same perpendicularly to thedirectional line 802 is equal to or smaller than a predetermined length.When a plurality of firework balls 602 are detected, a firework ballclosest to the directional line 802 or the display position of thecursor 801 is detected as a firework ball drawn in the vicinity of thedirectional line 802. It is not essential to draw the directional line802 actually, and the directional line 802 may only virtually set on thedisplay image.

With such a technique in which an object is selected and the cursor ismoved using a directional line, the player can move the cursor andselect the object promptly, in a shorter time compared to techniques inwhich an object is selected by moving the cursor to the object.

When the player instructs explosion by operating the controller 20, theCPU 51 chooses the firework ball for which a lock-on attribute is set asthe firework ball to be exploded (step S2007). As a result, theabove-described process allows the chosen firework ball to spread asshown in FIGS. 8E and 8F. As shown in FIGS. 9A through 9D, when lock-onis set in a plurality of firework balls through operations of thedirectional line and lock-on instructions made by the playerconsecutively, and then, the player instructs explosion of them, all ofthe firework balls for which lock-on is set are chosen as firework ballsto be exploded. As a result, the above-described process allows thosefirework balls to spread as shown in FIGS. 9E and 9F.

The CPU 51 sets a range for an induced explosion around an explodingfirework balls drawn on the display image according to the attributes ofthe firework balls, for example, as indicated by the broken line in FIG.10A (step S2008). The CPU 51 refers to the drawing ranges of thefirework balls under its management and chooses other firework ballsdrawn within the range for the induced explosion as firework balls to beexploded (step S2009). As a result, the above-described process allowsthe firework balls located around the exploded firework ball to be alsoexploded as shown in FIG. 10B.

It is possible to also explode a new firework ball provided in aposition associated with the position of the exploded firework ballusing the range for the induced explosion set for the exploded fireworkball.

With such a technique in which a range for an induced explosion is setaround an exploded object and in which other objects within the rangefor an induced explosion are exploded, such an induced explosion can berepresented with a smaller processing load in a shorter processing timethan those, for example, in a technique in which collisions of sparksagainst a firework ball are calculated to simulate an actual inducedexplosion caused by such collisions against the firework.

Referring to the new firework ball provided in the position associatedwith the position of the exploded firework ball as described above,lock-on may be set in advance as the attribute of the new firework ball.The positions where ranges for an induced explosion are set, the timezone in which they are set, the number of them and whether they aremoved or not may be determined by preset attributes of a firework ballwhich is exploded. A range for an induced explosion may be set around anexploded firework ball in the world coordinate space according to theattributes thereof, and another firework ball located within the rangefor the induced explosion in the word coordinate space may be chosen asa firework ball to be exploded. A range for an induced explosion may beset for each spark.

The movement of the cursor, the specification of the direction of thedirectional line, the instruction for lock-on and the instruction for anexplosion in each of the above processes may be accepted at any buttonor any operating portions on the controller 20. However, it ispreferable at least to allow eight directions at angular intervals of 45degrees to be accepted as moving directions of the cursor and directionsof a directional line.

A preferred embodiment of the invention has been described above withreference to an application of the invention to a video game utilizingan entertainment apparatus. Any applications other than games arepossible for the technique described with reference to an example ofdrawing of sparks (the technique to represent an object to be displayedby calculating one point on the object to be displayed and pasting atexture at the calculated position), the technique described above withreference to an example of drawing of loci of sparks (the technique todraw a locus of a moving object by drawing line segments connectingpositions that form a history of movement), the technique describedabove with reference to an example of drawing of an image of past sparksin an enlarged form (the technique to decorate a display image bydrawing a past image thereon), the technique described above withreference to an example of selection of a firework ball by a player (thetechnique to accept selection of an object based on a direction andmovement of a cursor) and the technique described above with referenceto an example of a range for an induced explosion (the technique to findan object influenced by an object of interest based on a range set forthe object of interest).

Entertainment apparatuses according to the invention are not limited tovideo game machines and various apparatus for executing programs(electronic computers) such as personal computers, PDAs and portabletelephones are included.

As described above, the present invention makes it possible to representan interaction between objects and, more particularly, an inducedexplosion between objects with a smaller processing volume.

What is claimed is:
 1. A method of creating a dynamic image representingan induced explosion of an object under influence of an explosion ofanother object, said method comprising: an acceptance step whichaccepts, from a user, at least one object to be exploded among aplurality of objects which are displayed on a display screen; acoordinate calculating step which calculates a position of said at leastone object to be exploded; a detecting step which detects at least onesecond object having a same form as said at least one object to beexploded located within a predetermined range which is determined by theposition calculated at said coordinate calculating step and attributesof said at least one object to be exploded; and a setting step whichsets said at least one second object detected at said detecting step asan object to be subjected to an induced explosion under influence of anexplosion of said at least one object to be exploded.
 2. A method ofcreating a dynamic image according to claim 1, further comprising arelating object disposing step which generates at least one third objectto be exploded within said predetermined range.
 3. A method of creatinga dynamic image according to claim 1, wherein said at least one objectto be exploded has a form of firework ball.
 4. A storage medium forstoring a program read and executed by a program executing apparatus,said program allowing said apparatus to create a dynamic imagerepresenting an included explosion of an object under influence of anexplosion of another object and allowing the program executing apparatusto execute: an acceptance step which accepts, from a user, at least oneobject to be exploded among a plurality of objects which are displayedon a display screen; a coordinate calculating step which calculates aposition of said at least one object to be exploded; a detecting stepwhich detects at least one second object having a same form as said atleast one object to be exploded located within a predetermined rangewhich is determined by the position calculated at said coordinatecalculating step and attributes of said at least one object to beexploded; and a setting step which sets said at least one second objectdetected at said detecting step as an object to be subjected to aninduced explosion under influence of an explosion of said at least oneobject to be exploded.
 5. A program read and executed by a programexecuting apparatus, said program allowing said program executingapparatus to create a dynamic image representing an included explosionof an object under influence of an explosion of another object andallowing the program executing apparatus to execute: an acceptance stepwhich accepts, from a user, at least one object to be exploded among aplurality of objects which are displayed on a display screen; acoordinate calculating step which calculates a position of said at leastone object to be exploded; a detecting step which detects at least onesecond object having a same form as said at least one object to beexploded located within a predetermined range which is determined by theposition calculated at said coordinate calculating step and attributesof said at least one object to be exploded; and a setting step whichsets said at least one second object detected at said detecting step asan object to be subjected to an induced explosion under influence of anexplosion of said at least one object to be exploded.
 6. A programexecuting apparatus for executing a program for displaying a dynamicimage representing an included explosion of an object under influence ofan explosion of another object, said apparatus comprising: acceptancemeans which accepts, from a user, at least one object to be explodedamong a plurality of objects which are displayed on a display screen;coordinate calculating means which calculates a position of said atleast one object to be exploded; detecting means which detects at leastone second object having a same form as said at least one object to beexploded located within a predetermined range which is determined by theposition calculated at said coordinate calculating means and attributesof said at least one object to be exploded; and setting means which setssaid at least one second object detected at said detecting means as anobject to be subjected to an induced explosion under influence of anexplosion of said at least one object to be exploded.